<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@ include file="/common/common.jsp" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

	<div id="toolbar">
		<form class="form-inline" role="form">
		     <button type="button" class="btn btn-default" onclick="insertBatch()">增加</button> 
		</form>
			
	</div> 
	<table id="table"></table>
</body>
<script type="text/javascript">
$(function(){
	$('#table').bootstrapTable({
	    url: '<%=path %>/rRoleController/getInfoServer',
	    method: 'post',                      //请求方式（*）
	    contentType: "application/x-www-form-urlencoded",//post请求，需要加这个,不然分页不出
	    toolbar: '#toolbar',    //工具按钮用哪个容器  用于对齐查询
	    striped: true,                      //是否显示行间隔色
	    cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
	    pagination: false,                   //是否显示分页（*）
	    search: true,                      //是否显示表格搜索
	    showColumns: true,                  //是否显示所有的列（选择显示的列）
	    showRefresh: true,                  //是否显示刷新按钮
	    clickToSelect: true,                //是否启用点击选中行
	    showToggle: true,                   //是否显示详细视图和列表视图的切换按钮
	    strictSearch: true,	 				//严格搜索 

	    
	    columns: [
	    	{
	    		checkbox: true,
	    		visible: true                  //是否显示复选框  
	    	},{
		        field: 'rid',
		        title: 'ID',
		    }, {
		        field: 'rname',
		        title: '角色名字'
		    },{
		    	 title: '操作',
			        formatter : function(value, row, index){
			        	var rid = row.rid;
			        	return '<a class="btn btn-danger1" href="javascript:deleteInfo(' + rid + ')"><span class="glyphicon glyphicon-trash"></span></a>' +
			        	'<a class="btn btn-info1" href="javascript:updateInfo(' + rid + ')"><span class="glyphicon glyphicon-edit"></span></a>';
			        	
			  }
		    } 
	    ]
	});
})


	function getData(){
		$('#table').bootstrapTable("refresh"); //向后台输出进行刷新
	};




	function insertBatch(){
		BootstrapDialog.show({
            title: '增加',
            message: $('<div></div>').load('/rRoleController/insertInfo'),
            size: BootstrapDialog.SIZE_SMALL, 
            buttons: [{
                label: '取消',
                cssClass : "btn btn-info",
                action: function (dialog) {
                	dialog.close();
                }
            }, {
                label: '确定',
                cssClass : "btn btn-info",
                action: function (dialog) {
                	
                	//获取复选框打钩状态
                	var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
                	var nodes = treeObj.getCheckedNodes("true");
                	var nodeIds =[];
                	//只要复选框打钩状态的id 
                	for (var i = 0; i < nodes.length; i++) {
						nodeIds.push(nodes[i].id)
					}
                	//判断权限必须选择
                	if(nodeIds.length == 0){
                		toastr.error("请选择权限")
                		return;
                	}
                	//获取增加表中的name
                	var rname = $("#rname").val();
                	
    			 	$.ajax({
    					url:"/rRoleController/saveById",
    					//打钩复选框id 和name值
    					data:{rname:rname,nodeIds:nodeIds},
    					dataType:"text",
    					type:"post",
    					async:true,
    					success:function(result){
    						if(result == "1"){
    							dialog.close();
        						toastr.success("增加成功");
        						getData();
    						}else{
    							toastr.error("增加失败");
    						}

    					},
    					error:function(){
    						toastr.error("系统异常,请联系管理员");
    					}
    				}) 
                	
                }
            }]
        });
	}
	
	function updateInfo(rid){
		BootstrapDialog.show({
            title: '修改',
            message: $('<div></div>').load('/rRoleController/updateInfo/'+rid),

            size: BootstrapDialog.SIZE_SMALL, 
            buttons: [{
                label: '取消',
                cssClass : "btn btn-info",
                action: function (dialog) {
                	dialog.close();
                }
            }, {
                label: '确定',
                cssClass : "btn btn-info",
                action: function (dialog) {
             	
                	//  修改后 也是和增加一样，先获取打钩选框中的id
                	var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
                    /!* 	var nodes = treeObj.getChangeCheckedNodes(); *!/
                    	var nodes = treeObj.getCheckedNodes("true");
                    	var nodeIds =[];
                    	for (var i = 0; i < nodes.length; i++) {
    						nodeIds.push(nodes[i].id)
    						
    					}
                    	//判断权限必须选择
                    	if(nodeIds.length == 0){
                    		toastr.error("请选择权限")
                    		return;
                    	}
                    	//获取修改表中的name值
                    	var rname = $("#rname").val();
              			
        			 	$.ajax({
        					url:"/rRoleController/updateById",
        					//修改是把表修改，中间的表先删除 在增加，所有需要id 来根据条件进行删除中间表和增加
        					data:{rname:rname,nodeIds:nodeIds,rid:rid},
        					dataType:"text",
        					type:"post",
        					async:true,
        					success:function(result){
        						if(result == "1"){
        							dialog.close();
            						toastr.success("修改成功");
            						getData();
        						}else{
        							toastr.error("修改失败");
        						}

        					},
        					error:function(){
        						toastr.error("系统异常,请联系管理员");
        					}
        				}) 
                	
                }
            }]
        });
	}
	
		function deleteInfo(rid){
			if(confirm("是否删除角色")){
				$.ajax({
					url:"<%=path%>/rRoleController/deleteById/"+rid,
					data:{},
					dataType:"text",
					type:"post",
					async:true,
					success:function(result){
						if(result == "1"){
							toastr.success("删除成功");
							getData();
						}else{
							toastr.error("删除失败");
						}

					},
					error:function(){
						toastr.error("系统异常,请联系管理员");
					}
				}) 
			}
		}
</script>
</html>